
package BUFE;

import DTL.*;
import DAFE.*;
import java.util.*;



/**
 * 
 * Classe destinée à gérer les produits
 */
public class ProduitManager {
    
    /**
     * Méthode destinée à acquérir la liste des produits disponibles
     * @param aDescriptionNom définit une chaîne de caractères à rechercher dans l'intitulé ou la description du produit
     * @return une liste des produits correspondants aux critères ou une indication stipulant l'inexistence de produits correspondants
     */
    public static List<Produit_Entite> getList(String aDescriptionNom) {
        try
        {
            return DataProvider.getProduitList(aDescriptionNom);
        }
        catch (Exception e)
        {
            Produit_Entite pro = new Produit_Entite(-1, "Pas de résultat", "Pas de résultat", 0, 0, 0);
            List<Produit_Entite> l = new ArrayList<Produit_Entite>();
            l.add(pro);
            return l;
        }
    }
    
    /**
     * Méthode destinée à acquérir la liste des produits disponibles
     * @param aDescriptionNom définit une chaîne de caractères à rechercher dans l'intitulé ou la description du produit
     * @param aIDcat définit l'identifiant de la catégorie à laquelle doivent appartenir les produits
     * @return une liste des produits correspondants aux critères ou une indication stipulant l'inexistence de produits correspondants
     */
    public static List<Produit_Entite> getList(String aDescriptionNom, int aIDcat) {
        try
        {
            return DataProvider.getProduitList(aDescriptionNom, aIDcat);
        }
        catch (Exception e)
        {
            Produit_Entite pro = new Produit_Entite(-1, "Pas de résultat", "Pas de résultat", 0, 0, 0);
            List<Produit_Entite> l = new ArrayList<Produit_Entite>();
            l.add(pro);
            return l;
        }
    }
    
    /**
     * Méthode destinée à acquérir un produit bien spécifique
     * @param aIDpro définit l'identifiant du produit recherché
     * @return un produit ou une indication stipulant l'inexistence du produit
     */
    public static Produit_Entite getProduit(int aIDpro) {
        try
        {
            return DataProvider.getProduit(aIDpro);
        }
        catch (Exception e)
        {
            return new Produit_Entite(-1, "Pas de résultat", "Pas de résultat", 0, 0, 0);
        }
    }
    
}
